package ar.edu.untref.visitor.model;

import java.util.LinkedList;
import java.util.List;

public class Factura {
	private List<Element> items;

	public Factura() {
		this.items = new LinkedList<Element>();
	}

	public double getCosto() {

		CalcularMontoVisitor visitor = new CalcularMontoVisitor();

		for (Element i : items) {
			i.accept(visitor);

		}
		return visitor.getCostoTotal();

	}

	public int getHoras() {
		CalcularHorasVisitor visitor = new CalcularHorasVisitor();

		for (Element i : items) {
			i.accept(visitor);

		}

		return visitor.getHoras();
	}

	public double getImpuesto() {
		CalcularImpuestosVisitor visitor = new CalcularImpuestosVisitor();
		for (Element i : items) {
			i.accept(visitor);

		}
		return visitor.getImpuestos();

	}
	
	public void addItem(Element e){
		this.items.add(e);
		
	}

}
